#ifndef LOGIN_H
#define LOGIN_H


#include "Util.h"
#include <QSqlQuery>
#include <QPushButton>
#include <QTextCodec>

namespace Ui
{
    using namespace ns_util;
    class login;
}

struct User{
    QString name;
    QString account;
    QString password;
};

class login : public QDialog
{
    Q_OBJECT

public:
    explicit login(QDialog *parent = nullptr);
    ~login();

    bool islegalInput(const QString& name, const QString& account, const QString& password);

    // 判断用户是否存在（登录时）
    bool _isUserExistForLogin(User& user);
    bool isUserExistForLogin(User& user);

    // 判断用户是否存在（注册时）
    bool _isUserExistForRegistration(User& user, QString &errorMessage);
    bool isUserExistForRegistration(User& user, QString &errorMessage);

    // 注册用户
    bool _registerUser(User& user);
    bool registerUser(User& user);

    // 显示所有用户:
    bool showAllUsers();

    bool afterLogin();

private slots:
    void on_pb_login_clicked();

    void on_pb_register_clicked();

public:

private:
    Ui::login *ui;
    QTextCodec* codec;
};


#endif // LOGIN_H
